﻿using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

namespace HDJ.Framework.Core
{
    /// <summary>
    /// 有需要使用对象池取出，重置参数的请继承此类
    /// </summary>
    public abstract class PoolObject : MonoBehaviourExtend
    {
        /// <summary>
        /// 创建时调用
        /// </summary>
        public virtual void OnCreate()
        {
        }
        /// <summary>
        /// 当被使用时（包括第一次创建，和对象池重复使用时）
        /// </summary>
        public virtual void OnFetch()
        {
        }
 

        public virtual void OnObjectDestroy()
        {
        }
        /// <summary>
        /// 放回对象池时
        /// </summary>
        public virtual void OnRecycle()
        {
        }
    }
}
